package com.sgb.kjwl.di.transport;

import androidx.lifecycle.ViewModelProvider;

import com.sgb.kjwl.repository.TransportRepertory;
import com.sgb.kjwl.repository.impl.TransportRepertoryImpl;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishCarInfoActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishCargoInfoActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishContractActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishCostActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishDateActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishHistoryActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishMoreActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishPayAgreementActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishPersonActivity;
import com.sgb.kjwl.view.ui.activity.self.logistics.CargoPublishPublisherActivity;
import com.sgb.kjwl.view.ui.activity.self.offer.TruckApplyActivity;
import com.sgb.kjwl.view.ui.activity.self.order.OrderRequireInfoActivity;
import com.sgb.kjwl.view.ui.activity.transport.CargoQuotationActivity;
import com.sgb.kjwl.view.ui.activity.transport.CarriageDetailActivity;
import com.sgb.kjwl.view.ui.activity.transport.CarsInfoActivity3;
import com.sgb.kjwl.view.ui.activity.transport.CarsInfoDetailActivity3;
import com.sgb.kjwl.view.ui.activity.transport.CarsInfoJoinQuotedActivity3;
import com.sgb.kjwl.view.ui.activity.transport.DepartureCertificateActivity;
import com.sgb.kjwl.view.ui.activity.transport.GasMapActivity;
import com.sgb.kjwl.view.ui.activity.transport.GasServiceActivity;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoDetailActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoDetailQuotedActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoJoinQuotedActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoManageSearchActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoManagerListActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoOrderPriceListActivity3;
import com.sgb.kjwl.view.ui.activity.transport.GoodsInfoOrderSuccessActivity3;
import com.sgb.kjwl.view.ui.activity.transport.HandleAdressActivity;
import com.sgb.kjwl.view.ui.activity.transport.LoadingAndUnloadingPlaceActivity;
import com.sgb.kjwl.view.ui.activity.transport.MainCitiesActivity;
import com.sgb.kjwl.view.ui.activity.transport.MapCarActivity;
import com.sgb.kjwl.view.ui.activity.transport.MapCarBiddingActivity;
import com.sgb.kjwl.view.ui.activity.transport.MapGoodsActivity;
import com.sgb.kjwl.view.ui.activity.transport.MapGoodsBiddingActivity;
import com.sgb.kjwl.view.ui.activity.transport.MoreCarriageInfoActivity;
import com.sgb.kjwl.view.ui.activity.transport.OfferOrderActivity;
import com.sgb.kjwl.view.ui.activity.transport.OrderBargainingActivity;
import com.sgb.kjwl.view.ui.activity.transport.PayGoodsOrderActivity;
import com.sgb.kjwl.view.ui.activity.transport.ReceiptCertificateActivity;
import com.sgb.kjwl.view.ui.activity.transport.SureStartTransportActivity;
import com.sgb.kjwl.view.ui.activity.transport.TransportInvoiceInfoActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.goods.GoodsListActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.goods.GoodsListModel;
import com.sgb.kjwl.view.ui.activity.transport.driver.lines.LineSettingActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.lines.LineSettingModel;
import com.sgb.kjwl.view.ui.activity.transport.driver.price.PriceListActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.price.PriceListModel;
import com.sgb.kjwl.view.ui.activity.transport.driver.trans.TransListActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.trans.TransListModel;
import com.sgb.kjwl.view.ui.activity.transport.driver.trans.TransPushActivity;
import com.sgb.kjwl.view.ui.activity.transport.driver.trans.TransPushModel;
import com.sgb.kjwl.view.ui.activity.transport.driver.trans.TransportFreightCollectionActivity;
import com.sgb.kjwl.view.ui.activity.transport.owner.TransportDriverLocationActivity;
import com.sgb.kjwl.view.ui.activity.transport.owner.TransportOrderDetailOwnerActivity;
import com.sgb.kjwl.viewmodel.self.offer.TruckApplyModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishCarInfoViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishCargoInfoViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishContractViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishCostViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishDateViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishHistoryViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishMoreViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishPayAgreementViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishPersonViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoPublishPublisherViewModel;
import com.sgb.kjwl.viewmodel.transport.CargoQuotationViewModel;
import com.sgb.kjwl.viewmodel.transport.CarsInfoDetailModel3;
import com.sgb.kjwl.viewmodel.transport.CarsInfoJoinQuotedModel3;
import com.sgb.kjwl.viewmodel.transport.CarsInfoModel3;
import com.sgb.kjwl.viewmodel.transport.DepartureCertificateViewModel;
import com.sgb.kjwl.viewmodel.transport.GasServiceModule;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoDetailModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoDetailQuotedModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoManagerModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoManagerSearchModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoOrderModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsInfoOrderSuccessModel3;
import com.sgb.kjwl.viewmodel.transport.GoodsQuotedPriceModel3;
import com.sgb.kjwl.viewmodel.transport.HandleAdressViewModel;
import com.sgb.kjwl.viewmodel.transport.LoadingAndUnloadingPlaceViewModel;
import com.sgb.kjwl.viewmodel.transport.MainCitiesModel;
import com.sgb.kjwl.viewmodel.transport.MapCarBiddingModel;
import com.sgb.kjwl.viewmodel.transport.MapCarModel;
import com.sgb.kjwl.viewmodel.transport.MapGasModule;
import com.sgb.kjwl.viewmodel.transport.MapGoodsBiddingModel;
import com.sgb.kjwl.viewmodel.transport.MapGoodsModel;
import com.sgb.kjwl.viewmodel.transport.MoreCarriageInfoModel;
import com.sgb.kjwl.viewmodel.transport.OfferOrderModel;
import com.sgb.kjwl.viewmodel.transport.OrderBargainingModel;
import com.sgb.kjwl.viewmodel.transport.PayGoodsViewModel;
import com.sgb.kjwl.viewmodel.transport.ReceiptCertificateViewModel;
import com.sgb.kjwl.viewmodel.transport.RequireInfoViewModel;
import com.sgb.kjwl.viewmodel.transport.SureStartTransportModel;
import com.sgb.kjwl.viewmodel.transport.TransportCollectionModel;
import com.sgb.kjwl.viewmodel.transport.TransportDriverLocationViewModel;
import com.sgb.kjwl.viewmodel.transport.TransportInvoiceInfoViewModel;
import com.sgb.kjwl.viewmodel.transport.TransportOrderDetailModel;
import com.swgk.core.base.di.Activity;
import com.swgk.core.base.api.BaseApiSource;
import com.swgk.core.base.model.preference.BasePreferenceSource;

import dagger.Module;
import dagger.Provides;

@Module
public class TransportModule {

    private MapGoodsActivity mapGoodsActivity;
    private MapCarActivity mapCarActivity;
    private MapGoodsBiddingActivity mapGoodsBiddingActivity;
    private MapCarBiddingActivity mapCarBiddingActivity;
    private GoodsInfoJoinQuotedActivity3 goodsQuotedPriceActivity;
    private GoodsInfoDetailActivity3 goodsInfoDetailActivity;
    private GoodsInfoDetailQuotedActivity3 goodsInfoDetailQuotedActivity;
    private CarsInfoActivity3 carsInfoActivity;
    private CarsInfoJoinQuotedActivity3 carsInfoJoinQuotedActivity;
    private CarsInfoDetailActivity3 carsInfoDetailActivity;
    private GoodsInfoManagerListActivity3 managerListActivity;
    private GoodsInfoManageSearchActivity3 searchActivity;
    private GoodsInfoOrderPriceListActivity3 orderActivity;
    private GoodsInfoOrderSuccessActivity3 orderSuccessActivity;
    private PriceListActivity priceListActivity;
    private GoodsListActivity goodsListActivity;
    private TransListActivity transListActivity;
    private TransPushActivity transPushActivity;
    private LineSettingActivity lineSettingActivity;
    private MainCitiesActivity mainCitiesActivity;
    private OrderBargainingActivity orderBargainingActivity;
    private OfferOrderActivity offerOrderActivity;
    private GasServiceActivity gasServiceActivity;
    private GasMapActivity gasMapActivity;
    private CarriageDetailActivity carriageDetailActivity;
    private MoreCarriageInfoActivity moreCarriageInfoActivity;
    private CargoPublishHistoryActivity cargoPublishHistoryActivity;
    private CargoPublishPersonActivity cargoPublishPersonActivity;
    private CargoPublishCargoInfoActivity cargoPublishCargoInfoActivity;
    private CargoPublishCostActivity cargoPublishCostActivity;
    private CargoPublishCarInfoActivity cargoPublishCarInfoActivity;
    private CargoPublishMoreActivity cargoPublishMoreActivity;
    private CargoPublishPublisherActivity cargoPublishPublisherActivity;
    private CargoPublishDateActivity cargoPublishDateActivity;
    private HandleAdressActivity adressActivity;
    private PayGoodsOrderActivity payGoodsOrderActivity;
    private CargoPublishPayAgreementActivity cargoPublishPayAgreementActivity;
    private CargoPublishContractActivity cargoPublishContractActivity;
    private OrderRequireInfoActivity orderRequireInfoActivity;

    private TransportDriverLocationActivity transportDriverLocationActivity;
    private LoadingAndUnloadingPlaceActivity loadingAndUnloadingPlaceActivity;
    private DepartureCertificateActivity departureCertificateActivity;
    private ReceiptCertificateActivity receiptCertificateActivity;
    private TransportInvoiceInfoActivity transportInvoiceInfoActivity;
    private TransportOrderDetailOwnerActivity transportOrderDetailOwnerActivity;
    private SureStartTransportActivity sureStartTransportActivity;
    private TransportFreightCollectionActivity transportFreightCollectionActivity;
    private TruckApplyActivity truckApplyActivity;

    public TransportModule(TruckApplyActivity truckApplyActivity) {
        this.truckApplyActivity = truckApplyActivity;
    }

    public TransportModule(OrderRequireInfoActivity orderRequireInfoActivity) {
        this.orderRequireInfoActivity = orderRequireInfoActivity;
    }

    public TransportModule(SureStartTransportActivity sureStartTransportActivity) {
        this.sureStartTransportActivity = sureStartTransportActivity;
    }

    public TransportModule(CargoPublishPayAgreementActivity cargoPublishPayAgreementActivity) {
        this.cargoPublishPayAgreementActivity = cargoPublishPayAgreementActivity;
    }

    public TransportModule(CargoPublishContractActivity cargoPublishContractActivity) {
        this.cargoPublishContractActivity = cargoPublishContractActivity;
    }

    public TransportModule(PayGoodsOrderActivity payGoodsOrderActivity) {
        this.payGoodsOrderActivity = payGoodsOrderActivity;
    }

    public TransportModule(HandleAdressActivity adressActivity) {
        this.adressActivity = adressActivity;
    }

    private CargoQuotationActivity cargoQuotationActivity;

    public TransportModule(GasServiceActivity gasServiceActivity) {
        this.gasServiceActivity = gasServiceActivity;
    }

    public TransportModule(GasMapActivity gasMapActivity) {
        this.gasMapActivity = gasMapActivity;
    }

    public TransportModule(OfferOrderActivity offerOrderActivity) {
        this.offerOrderActivity = offerOrderActivity;
    }

    public TransportModule(OrderBargainingActivity orderBargainingActivity) {
        this.orderBargainingActivity = orderBargainingActivity;
    }

    public TransportModule(TransListActivity transListActivity) {
        this.transListActivity = transListActivity;
    }

    public TransportModule(TransPushActivity transPushActivity) {
        this.transPushActivity = transPushActivity;
    }

    public TransportModule(LineSettingActivity lineSettingActivity) {
        this.lineSettingActivity = lineSettingActivity;
    }

    public TransportModule(PriceListActivity priceListActivity) {
        this.priceListActivity = priceListActivity;
    }

    public TransportModule(GoodsListActivity goodsListActivity) {
        this.goodsListActivity = goodsListActivity;
    }

    public TransportModule(MapGoodsActivity mapGoodsActivity) {
        this.mapGoodsActivity = mapGoodsActivity;
    }

    public TransportModule(MapCarActivity mapCarActivity) {
        this.mapCarActivity = mapCarActivity;
    }

    public TransportModule(MapGoodsBiddingActivity mapGoodsBiddingActivity) {
        this.mapGoodsBiddingActivity = mapGoodsBiddingActivity;
    }

    public TransportModule(MapCarBiddingActivity mapCarBiddingActivity) {
        this.mapCarBiddingActivity = mapCarBiddingActivity;
    }

    public TransportModule(GoodsInfoJoinQuotedActivity3 activity3) {
        this.goodsQuotedPriceActivity = activity3;
    }

    public TransportModule(GoodsInfoDetailActivity3 activity3) {
        this.goodsInfoDetailActivity = activity3;
    }

    public TransportModule(GoodsInfoDetailQuotedActivity3 activity3) {
        this.goodsInfoDetailQuotedActivity = activity3;
    }

    public TransportModule(CarsInfoActivity3 activity3) {
        this.carsInfoActivity = activity3;
    }

    public TransportModule(CarsInfoJoinQuotedActivity3 activity3) {
        this.carsInfoJoinQuotedActivity = activity3;
    }

    public TransportModule(CarsInfoDetailActivity3 activity3) {
        this.carsInfoDetailActivity = activity3;
    }

    public TransportModule(GoodsInfoManagerListActivity3 activity3) {
        this.managerListActivity = activity3;
    }

    public TransportModule(GoodsInfoManageSearchActivity3 activity3) {
        this.searchActivity = activity3;
    }

    public TransportModule(GoodsInfoOrderPriceListActivity3 activity3) {
        this.orderActivity = activity3;
    }

    public TransportModule(GoodsInfoOrderSuccessActivity3 activity3) {
        this.orderSuccessActivity = activity3;
    }

    public TransportModule(MainCitiesActivity mainCitiesActivity) {
        this.mainCitiesActivity = mainCitiesActivity;
    }

    public TransportModule(CarriageDetailActivity carriageDetailActivity) {
        this.carriageDetailActivity = carriageDetailActivity;
    }

    public TransportModule(MoreCarriageInfoActivity moreCarriageInfoActivity) {
        this.moreCarriageInfoActivity = moreCarriageInfoActivity;
    }

    public TransportModule(CargoPublishHistoryActivity cargoPublishHistoryActivity) {
        this.cargoPublishHistoryActivity = cargoPublishHistoryActivity;
    }

    public TransportModule(CargoPublishPersonActivity cargoPublishPersonActivity) {
        this.cargoPublishPersonActivity = cargoPublishPersonActivity;
    }

    public TransportModule(CargoPublishCargoInfoActivity cargoPublishCargoInfoActivity) {
        this.cargoPublishCargoInfoActivity = cargoPublishCargoInfoActivity;
    }

    public TransportModule(CargoPublishCostActivity cargoPublishCostActivity) {
        this.cargoPublishCostActivity = cargoPublishCostActivity;
    }

    public TransportModule(CargoPublishCarInfoActivity cargoPublishCarInfoActivity) {
        this.cargoPublishCarInfoActivity = cargoPublishCarInfoActivity;
    }

    public TransportModule(CargoPublishMoreActivity cargoPublishMoreActivity) {
        this.cargoPublishMoreActivity = cargoPublishMoreActivity;
    }

    public TransportModule(CargoPublishPublisherActivity cargoPublishPublisherActivity) {
        this.cargoPublishPublisherActivity = cargoPublishPublisherActivity;
    }

    public TransportModule(CargoPublishDateActivity cargoPublishDateActivity) {
        this.cargoPublishDateActivity = cargoPublishDateActivity;
    }

    public TransportModule(CargoQuotationActivity cargoQuotationActivity) {
        this.cargoQuotationActivity = cargoQuotationActivity;
    }
    public TransportModule(TransportDriverLocationActivity transportDriverLocationActivity) {
        this.transportDriverLocationActivity = transportDriverLocationActivity;
    }

    public TransportModule(LoadingAndUnloadingPlaceActivity loadingAndUnloadingPlaceActivity) {
        this.loadingAndUnloadingPlaceActivity = loadingAndUnloadingPlaceActivity;
    }

    public TransportModule(DepartureCertificateActivity departureCertificateActivity) {
        this.departureCertificateActivity = departureCertificateActivity;
    }

    public TransportModule(ReceiptCertificateActivity receiptCertificateActivity) {
        this.receiptCertificateActivity = receiptCertificateActivity;
    }

    public TransportModule(TransportInvoiceInfoActivity transportInvoiceInfoActivity) {
        this.transportInvoiceInfoActivity = transportInvoiceInfoActivity;
    }

    public TransportModule(TransportOrderDetailOwnerActivity transportOrderDetailOwnerActivity) {
        this.transportOrderDetailOwnerActivity = transportOrderDetailOwnerActivity;
    }

    public TransportModule(TransportFreightCollectionActivity transportFreightCollectionActivity) {
        this.transportFreightCollectionActivity = transportFreightCollectionActivity;
    }

    @Provides
    @Activity
    TransportRepertory provideTransportRepertory(BaseApiSource apiSource, BasePreferenceSource preferenceSource) {
        return new TransportRepertoryImpl(apiSource, preferenceSource);
    }

    @Provides
    @Activity
    OrderBargainingModel provideOrderBargainingModel(TransportRepertory repertory) {
        return new OrderBargainingModel(orderBargainingActivity, repertory);
    }


    @Provides
    @Activity
    MapGoodsModel provideMapGoodsModel(TransportRepertory repertory) {
        return new MapGoodsModel(mapGoodsActivity, repertory);
    }

    @Provides
    @Activity
    MapCarModel provideMapCarModel(TransportRepertory repertory) {
        return new MapCarModel(mapCarActivity, repertory);
    }

    @Provides
    @Activity
    MapGoodsBiddingModel provideMapGoodsBiddingModel(TransportRepertory repertory) {
        return new MapGoodsBiddingModel(mapGoodsBiddingActivity, repertory);
    }

    @Provides
    @Activity
    MapCarBiddingModel provideMapCarBiddingModel(TransportRepertory repertory) {
        return new MapCarBiddingModel(mapCarBiddingActivity, repertory);
    }

    @Provides
    @Activity
    GoodsQuotedPriceModel3 provideGoodsQuotedPriceModel3(TransportRepertory repertory) {
        return new GoodsQuotedPriceModel3(goodsQuotedPriceActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoDetailModel3 provideGoodsInfoDetailModel3(TransportRepertory repertory) {
        return new GoodsInfoDetailModel3(goodsInfoDetailActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoDetailQuotedModel3 provideGoodsInfoDetailQuotedModel3(TransportRepertory repertory) {
        return new GoodsInfoDetailQuotedModel3(goodsInfoDetailQuotedActivity, repertory);
    }

    @Provides
    @Activity
    CarsInfoModel3 provideCarsInfoModel3(TransportRepertory repertory) {
        return new CarsInfoModel3(carsInfoActivity, repertory);
    }

    @Provides
    @Activity
    CarsInfoJoinQuotedModel3 provideCarsInfoJoinQuotedModel3(TransportRepertory repertory) {
        return new CarsInfoJoinQuotedModel3(carsInfoJoinQuotedActivity, repertory);
    }

    @Provides
    @Activity
    CarsInfoDetailModel3 provideCarsInfoDetailModel3(TransportRepertory repertory) {
        return new CarsInfoDetailModel3(carsInfoDetailActivity, repertory);
    }

    @Provides
    @Activity
    PriceListModel priceListModel(TransportRepertory repertory) {
        return new PriceListModel(priceListActivity, repertory);
    }

    @Provides
    @Activity
    GoodsListModel goodsListModel(TransportRepertory repertory) {
        return new GoodsListModel(goodsListActivity, repertory);
    }

    @Provides
    @Activity
    TransListModel transListModel(TransportRepertory repertory) {
        return new TransListModel(transListActivity, repertory);
    }


    @Provides
    @Activity
    TransPushModel transPushModel(TransportRepertory repertory) {
        return new TransPushModel(transPushActivity, repertory);
    }

    @Provides
    @Activity
    LineSettingModel lineSettingModel(TransportRepertory repertory) {
        return new LineSettingModel(lineSettingActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoManagerModel3 provideGoodsInfoManagerModel3(TransportRepertory repertory) {
        return new GoodsInfoManagerModel3(managerListActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoManagerSearchModel3 provideGoodsInfoManagerSearchModel3(TransportRepertory repertory) {
        return new GoodsInfoManagerSearchModel3(searchActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoOrderModel3 provideGoodsInfoOrderModel3(TransportRepertory repertory) {
        return new GoodsInfoOrderModel3(orderActivity, repertory);
    }

    @Provides
    @Activity
    GoodsInfoOrderSuccessModel3 provideGoodsInfoOrderSuccessModel3(TransportRepertory repertory) {
        return new GoodsInfoOrderSuccessModel3(orderSuccessActivity, repertory);
    }

    @Provides
    @Activity
    MainCitiesModel provideMainCitiesModel(TransportRepertory repertory) {
        return new MainCitiesModel(mainCitiesActivity, repertory);
    }


    @Provides
    @Activity
    OfferOrderModel provideOfferOrderModel(TransportRepertory repertory) {
        return new OfferOrderModel(offerOrderActivity, repertory);
    }

    @Provides
    @Activity
    GasServiceModule provideGasServiceModule(TransportRepertory repertory) {
        return new GasServiceModule(repertory, gasServiceActivity);
    }

    @Provides
    @Activity
    MapGasModule provideMapGasModule(TransportRepertory repertory) {
        return new MapGasModule(repertory, gasMapActivity);
    }

//    @Provides
//    @Activity
//    CarriageDetailModel provideCarriageDetailModel(TransportRepertory repertory) {
//        return new CarriageDetailModel(carriageDetailActivity, repertory);
//    }

    @Provides
    @Activity
    MoreCarriageInfoModel provideMoreCarriageInfoModel(TransportRepertory repertory) {
        return new MoreCarriageInfoModel(moreCarriageInfoActivity, repertory);
    }

    @Provides
    @Activity
    CargoPublishHistoryViewModel provideCargoPublishHistoryViewModel() {
        return new ViewModelProvider(cargoPublishHistoryActivity).get(CargoPublishHistoryViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishPersonViewModel provideCargoPublishPersonViewModel() {
        return new ViewModelProvider(cargoPublishPersonActivity).get(CargoPublishPersonViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishCargoInfoViewModel provideCargoPublishCargoInfoViewModel() {
        return new ViewModelProvider(cargoPublishCargoInfoActivity).get(CargoPublishCargoInfoViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishCostViewModel provideCargoPublishCostViewModel() {
        return new ViewModelProvider(cargoPublishCostActivity).get(CargoPublishCostViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishCarInfoViewModel provideCargoPublishCarInfoViewModel() {
        return new ViewModelProvider(cargoPublishCarInfoActivity).get(CargoPublishCarInfoViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishMoreViewModel provideCargoPublishMoreViewModel() {
        return new ViewModelProvider(cargoPublishMoreActivity).get(CargoPublishMoreViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishPublisherViewModel provideCargoPublishPublisherViewModel() {
        return new ViewModelProvider(cargoPublishPublisherActivity).get(CargoPublishPublisherViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishDateViewModel provideCargoPublishDateViewModel() {
        return new ViewModelProvider(cargoPublishDateActivity).get(CargoPublishDateViewModel.class);
    }

    @Provides
    @Activity
    CargoQuotationViewModel provideCargoQuotationViewModel() {
        return new ViewModelProvider(cargoQuotationActivity).get(CargoQuotationViewModel.class);
    }

    @Provides
    @Activity
    HandleAdressViewModel provideHandleAdressViewModel() {
        return new ViewModelProvider(adressActivity).get(HandleAdressViewModel.class);
    }

    @Provides
    @Activity
    PayGoodsViewModel providePayGoodsViewModel() {
        return new ViewModelProvider(payGoodsOrderActivity).get(PayGoodsViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishContractViewModel provideCargoPublishContractViewModel() {
        return new ViewModelProvider(cargoPublishContractActivity).get(CargoPublishContractViewModel.class);
    }

    @Provides
    @Activity
    CargoPublishPayAgreementViewModel provideCargoPublishPayAgreementViewModel() {
        return new ViewModelProvider(cargoPublishPayAgreementActivity).get(CargoPublishPayAgreementViewModel.class);
    }

    @Provides
    @Activity
    RequireInfoViewModel provideRequireInfoViewModel() {
        return new ViewModelProvider(orderRequireInfoActivity).get(RequireInfoViewModel.class);
    }

    @Provides
    @Activity
    TransportDriverLocationViewModel provideTransportDriverLocationViewModel() {
        return new ViewModelProvider(transportDriverLocationActivity).get(TransportDriverLocationViewModel.class);
    }

    @Provides
    @Activity
    LoadingAndUnloadingPlaceViewModel provideLoadingAndUnloadingPlaceViewModel() {
        return new ViewModelProvider(loadingAndUnloadingPlaceActivity).get(LoadingAndUnloadingPlaceViewModel.class);
    }

    @Provides
    @Activity
    DepartureCertificateViewModel provideDepartureCertificateViewModel() {
        return new ViewModelProvider(departureCertificateActivity).get(DepartureCertificateViewModel.class);
    }

    @Provides
    @Activity
    ReceiptCertificateViewModel provideReceiptCertificateViewModel() {
        return new ViewModelProvider(receiptCertificateActivity).get(ReceiptCertificateViewModel.class);
    }

    @Provides
    @Activity
    TransportInvoiceInfoViewModel provideTransportInvoiceInfoViewModel() {
        return new ViewModelProvider(transportInvoiceInfoActivity).get(TransportInvoiceInfoViewModel.class);
    }

    @Provides
    @Activity
    TransportOrderDetailModel provideTransportOrderDetailModel() {
        return new ViewModelProvider(transportOrderDetailOwnerActivity).get(TransportOrderDetailModel.class);
    }

    @Provides
    @Activity
    SureStartTransportModel provideSureStartTransportModel() {
        return new ViewModelProvider(sureStartTransportActivity).get(SureStartTransportModel.class);
    }

    @Provides
    @Activity
    TransportCollectionModel provideTransportCollectionModel() {
        return new ViewModelProvider(transportFreightCollectionActivity).get(TransportCollectionModel.class);
    }

    @Provides
    @Activity
    TruckApplyModel provideTruckApplyModel() {
        return new ViewModelProvider(truckApplyActivity).get(TruckApplyModel.class);
    }
}
